/* 
 * File:   ScreenManager.h
 * Author: paula
 *
 * Created on 12 de octubre de 2014, 11:47
 */

#ifndef SCREENMANAGER_H
#define	SCREENMANAGER_H

#include "../Define/DefaultValues.h"
//#include <cstdlib>
//#include <string>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
//#include <stdio.h>
#include <iostream>

#include "Dot.h"

using namespace std;

class ScreenManager {
public:
    ScreenManager();
    ScreenManager(float mapWidth, float mapHeight, float windowWidth, float windowHeight, int characterId);
    ScreenManager(const ScreenManager& orig);
    virtual ~ScreenManager();
    
    int getCharacterId();
    void setZoom(float zoomIn, float zoomOut);
    void setCharacterPos(float x, float y);
    void draw(SDL_Renderer** gRenderer, SDL_Texture** mTexture);
    void setPosCamera(float x, float y);
    void actualizeSettings();
    void setObserver();
private:
    float zoom;
    float newZoom;
    float characterScreenPosX;
    float characterScreenPosY;
    float characterMapPosX;
    float characterMapPosY;
    int character;
    float mapWidth;
    float mapHeight;
    float borderX;
    float borderY;
    float screenWidth;
    float screenHeight;
    float deltaMapY;
    float deltaMapX;
    float posAntMapX;
    float posAntMapY;
    SDL_Rect* settings;
    void setCharacterScreenPos();
    
    float deltaZoom;
    float minZoom;
    float initialZoom;
    float maxZoom;
    
    bool observer;
};

#endif	/* SCREENMANAGER_H */

